草庐IT

java try finally 阻止关闭流

全部标签

java - 阻止 GSON 序列化 JSON 字符串

我是gson的新手,有一个我还没有找到答案的newby问题,所以请多多包涵。StackOverflow和谷歌不是我的friend:(我有一个java类“User”,它的属性之一“externalProfile”是一个包含已序列化JSON的Java字符串。当gson序列化User对象时,它会将externalProfile视为原始类型,从而转义JSON添加额外的斜杠等。我希望gson单独保留字符串,只是“按原样”使用它,因为它已经是有效且可用的JSON。为了区分JSON字符串,我创建了一个名为JSONString的简单类,我尝试使用读取器/写入器、registerTypeAdapter,

java - Spring Boot Actuator - 如何向/关闭端点添加自定义逻辑

在我的项目中,我开始使用SpringBootActuator。我使用/shutdown端点优雅地停止嵌入式Tomcat(这很好用),但我还需要在关机期间执行一些自定义逻辑。有什么办法,怎么做? 最佳答案 我可以想到两种方法来关闭应用程序之前执行一些逻辑:注册一个Filter,毕竟是一个web应用。拦截invoke使用@Before建议的方法Servlet过滤器由于/shutdown是一个Servlet端点,您可以注册一个Filter以在/shutdown端点被调用之前运行:publicclassShutdownFilterexten

java - 在垃圾收集中可关闭?

当Closeable对象被垃圾回收时,是否调用了Closeable接口(interface)的close()方法?[在Java6.0中]我有一个静态变量,它是一个资源(数据库连接)。由于这是一个静态资源,因此没有正确的地方可以显式调用close()。 最佳答案 快速回答:不。GC根本不关心Closeable。Java确实有protectedvoidfinalize()throwsThrowable{}方法,您可以重写它—它将在GC上调用。它有点工作,例如在FileInputStream中:/***Ensuresthattheclos

java - 如何在 JavaFx 中捕获强制退出或意外关闭的事件?

我正在制作一个具有服务器登录和注销功能的桌面应用程序。每当有人关闭窗口时,我都需要从应用程序注销,所以我正在使用这些代码primaryStage.setOnCloseRequest(newEventHandler(){@Overridepublicvoidhandle(WindowEventevent){event.consume();closeWindow();}});其中closeWindow()包含注销和其他相关步骤。现在,当应用程序意外关闭或有人从任务管理器强行退出/关闭它(通过结束进程)时会出现问题。JavaFX是否有捕获强制退出或意外关闭的事件?或者是否有任何方法可以阻止它

java - 如何关闭并重新配置使用 NettyAsyncHttpProvider 的 AsyncHttpClient

我正在构建一个AsyncHttpClient,如下所示:publicAsyncHttpClientgetAsyncHttpClient(){AsyncHttpClientConfigconfig=newAsyncHttpClientConfig.Builder().setProxyServer(makeProxyServer()).setRequestTimeoutInMs((int)Duration.create(ASYNC_HTTP_REQUEST_TIMEOUT_MIN,TimeUnit.MINUTES).toMillis()).build();returnnewAsyncHtt

java - 从客户端干净地关闭 GRPC-Java 中的所有打开流

我正在使用GRPC-Java1.1.2。在Activity的GRPCsession中,我打开了一些双向流。当客户端断开连接时,有没有办法从客户端清除它们?当我尝试断开连接时,我运行以下查找固定次数,然后断开连接,但我可以在服务器端看到以下错误(但不确定是否由其他问题引起):断开与客户端的连接while(!channel.awaitTermination(3,TimeUnit.SECONDS)){//checkforupperboundandbreakifso}channel.shutdown().awaitTermination(3,TimeUnit.SECONDS);服务器错误E04

java - 如何从 Java 应用程序中打开和关闭监视器?

如何从Java应用程序中打开和关闭监视器?如果您想知道为什么,这是一个信息亭风格的应用程序,晚上关闭显示器会很棒。是的,您可以在机器的屏幕保护程序设置中执行此操作,但最好以编程方式执行此操作并避免在每台机器上进行配置。 最佳答案 假设您在Windows上部署Java应用程序,您可以使用此WIN32API函数://turnoffmonitorSendMessage(HWND_BROADCAST,WM_SYSCOMMAND,SC_MONITORPOWER,(LPARAM)2);//turnonmonitorSendMessage(HWN

java - 按键关闭 ModalWindow

我希望能够在用户按下某个键时关闭ModalWindow,在我的例子中是ESC。我有一个用于按键的Javascript监听器,它调用取消按钮ID的点击事件:jQuery("#"+modalWindowInfo.closeButtonId).click();这是正确的做法吗?我想知道,因为它在Chrome中有效,但在FF中无效,但这可能是由于我的特定实现所致。 最佳答案 “正确”的做法是调用服务器,然后用响应关闭它。您可以使用ajax行为执行此操作:ModalTestPage.javapublicclassModalTestPageex

java - 如何在 Java 中隐藏 JFrame 窗口上的默认最小化/最大化和关闭按钮?

我想知道是否可以创建一个没有默认最大化/最小化(-)和关闭(x)按钮的JFrame窗口!我在每个框架上添加了自定义按钮,这样用户就不必乱用窗口右上角的默认按钮! 最佳答案 您可以使用JWindow因为默认情况下是未装饰的,但你可以setUndecorated()对于JFrame/JDialog另一种方式是实现WindowListenersetDefaultCloseOperations 关于java-如何在Java中隐藏JFrame窗口上的默认最小化/最大化和关闭按钮?,我们在Stack

java - 用于关闭 JDBC 对象的通用助手

强烈建议在使用完JDBC对象(连接、语句、结果集)后关闭它们。但是,这会产生大量这样的代码:Connectionconn=null;Statementstm=null;ResultSetres=null;try{//Obtainconnection/statement,getresults,whatever...}catch(SQLExceptione){//...}finally{if(res!=null){try{res.close();}catch(SQLExceptionignore){}}if(stm!=null){try{stm.close();}catch(SQLExce